import Vue from 'vue';
import mapping from '../mapping'
const lan = title => mapping.J_i18n(title, title, 'jiess.catchError')
export default function(error) {
	if (error.response) {
		switch (error.response.status) {
			case 400:
				Vue.prototype.$message({
					message: error.response.msg || lan('服务器无法解析该请求'),
					type: 'error'
				});
				break;
			case 401:
				sessionStorage.removeItem('userData');
				Vue.prototype.$message({
					message: error.response.msg || lan('请求没有进行身份验证或验证未通过'),
					type: 'warning',
					onClose: function() {
						location.reload()
					}
				});
				break;
			case 403:
				Vue.prototype.$message({
					message: error.response.msg || lan('无访问权限，请联系企业管理员'),
					type: 'warning'
				});
				break;
			case 404:
				Vue.prototype.$message({
					message: error.response.msg || lan('服务器找不到请求的页面'),
					type: 'warning'
				});
				break;
			case 405:
				Vue.prototype.$message({
					message: error.response.msg || lan('服务器禁用了请求中指定的方法'),
					type: 'warning'
				});
				break;
			case 406:
				Vue.prototype.$message({
					message: error.response.msg || lan('无法使用请求的内容响应请求的页面'),
					type: 'warning'
				});
				break;
			case 407:
				Vue.prototype.$message({
					message: error.response.msg || lan('请求者需要使用代理授权'),
					type: 'warning'
				});
				break;
			case 408:
				Vue.prototype.$message({
					message: error.response.msg || lan('服务器请求超时'),
					type: 'warning'
				});
				break;
			default:
				Vue.prototype.$message({
					message: error.response.msg || lan('服务端异常，请联系技术支持'),
					type: 'error'
				})
		}
	}
	return Promise.reject(error)
}